// ++++++++++++++++++++++++++++++++++++++++
// 《Go 语言+Vue.js 实战派——基于 Gin 框架》源码
// ++++++++++++++++++++++++++++++++++++++++
// 作者公众号：源码大数据
// 自媒体账号（抖音、视频号、快手、B站、知乎）：廖显东-ShirDon
// 仓库地址：https://gitee.com/shirdonl/goGinVue.git
// 仓库地址：https://github.com/shirdonl/goGinVue.git
// 博客：https://www.shirdon.com
// 购买图书：https: //item.jd.com/14958064.html
// ++++++++++++++++++++++++++++++++++++++++

package main

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

type Customer struct {
	Name string `form:"name" binding:"required"`
	Age  int    `form:"age" binding:"gte=0,lte=130"`
}

func main() {
	r := gin.Default()

	r.GET("/hello", func(c *gin.Context) {
		c.String(http.StatusOK, "Hello, World!")
	})

	r.POST("/users", func(c *gin.Context) {
		// 处理 POST 请求以创建新用户
	})

	r.Run()
}

//func handleGetRequest(c *gin.Context) {
//	// 从请求URL中获取查询参数
//	name := c.DefaultQuery("name", "empty")
//	age := c.DefaultQuery("age", "18")
//
//	//在应用程序逻辑中使用参数
//	// ...
//}

type Customer struct {
	Name string `form:"name" binding:"required"`
	Age  int    `form:"age" binding:"required"`
}

func handleGetRequest(c *gin.Context) {
	var customer Customer

	if err := c.ShouldBindQuery(&customer); err != nil {
		c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
		return
	}

	// 在应用程序逻辑中使用参数
	// ...
}
